package org.spring.springboot.app.sys.area.dao;

import org.apache.ibatis.annotations.Param;
import org.spring.springboot.app.sys.area.domain.po.SysAreaPO;
import org.spring.springboot.app.sys.area.domain.vo.SysAreaQueryMiniSearchVO;
import org.spring.springboot.app.sys.area.domain.vo.SysAreaQueryMiniVO;
import org.spring.springboot.app.sys.area.domain.vo.SysAreaVO;

import java.util.List;

public interface SysAreaDao {
    int deleteByPrimaryKey(String id);

    int insert(SysAreaPO record);

    int insertSelective(SysAreaPO record);

    SysAreaPO selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(SysAreaPO record);

    int updateByPrimaryKey(SysAreaPO record);

    List<SysAreaPO> findPage(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);

    List<SysAreaVO> findByParent(String parentId);

    String findCodeById(String id);

    List<SysAreaQueryMiniVO> findAllMini(SysAreaQueryMiniSearchVO searchVO);
}